﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;

namespace XmlStudio.Interfaces {
    /// <summary>
    /// Interface for the view.
    /// </summary>
    public interface IXmlView {
        /// <summary>
        /// Gets the current mouse position.
        /// </summary>
        /// <returns></returns>
        Point GetCurrentMousePosition();
        /// <summary>
        /// Closes this instance.
        /// </summary>
        void Close();
        /// <summary>
        /// Adds the message to status.
        /// </summary>
        /// <param name="message">The message.</param>
        void AddMessageToStatus(string message);
        /// <summary>
        /// Exports the canvas.
        /// </summary>
        void ExportCanvas();
        /// <summary>
        /// Prints the canvas.
        /// </summary>
        void PrintCanvas();
        /// <summary>
        /// Changes the mode.
        /// </summary>
        /// <param name="mode">The mode.</param>
        void ChangeMode(ApplicationMode mode);
        /// <summary>
        /// Inits the XML mode.
        /// </summary>
        /// <param name="path">The path.</param>
        void InitXmlMode(string path);
        /// <summary>
        /// Inits the XSD mode.
        /// </summary>
        /// <param name="path">The path.</param>
        void InitXsdMode(string path);
        /// <summary>
        /// Sets the progress bar visibility.
        /// </summary>
        /// <param name="visibility">if set to <c>true</c> [visibility].</param>
        void SetProgressBarVisibility(bool visibility);
        /// <summary>
        /// Sets the progress bar value.
        /// </summary>
        /// <param name="value">The value.</param>
        void SetProgressBarValue(int value);
    }
}